using System.ComponentModel.DataAnnotations;

namespace SupplierCustomerManagement.Domain.Entities
{
    /// <summary>
    /// 商品采购价格实体
    /// 代表供应商提供的商品采购价格信息，包含商品信息、价格信息、有效期等
    /// </summary>
    public class ProductPurchasePrice : BaseEntity
    {
        /// <summary>
        /// 供应商ID
        /// </summary>
        [Required]
        public int SupplierId { get; set; }

        /// <summary>
        /// 商品名称
        /// </summary>
        [Required]
        [StringLength(200)]
        public string ProductName { get; set; }

        /// <summary>
        /// 商品规格
        /// </summary>
        [Required]
        [StringLength(200)]
        public string Specification { get; set; }

        /// <summary>
        /// 计量单位
        /// </summary>
        [Required]
        [StringLength(50)]
        public string MeasurementUnit { get; set; }

        /// <summary>
        /// 开票价格
        /// </summary>
        public decimal InvoicePrice { get;  set; }

        /// <summary>
        /// 结算价格
        /// </summary>
        public decimal SettlementPrice { get;  set; }

        /// <summary>
        /// 折扣
        /// </summary>
        public decimal Discount { get;  set; }

        /// <summary>
        /// 公有价格
        /// </summary>
        public decimal PublicPrice { get;  set; }

        /// <summary>
        /// 开始日期
        /// </summary>
        public DateTime StartDate { get;  set; }

        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime EndDate { get;  set; }

        /// <summary>
        /// 方案名称
        /// </summary>
        [Required]
        [StringLength(200)]
        public string SchemeName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get;  set; }

    }
} 